<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON-Server</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <table class="table">
            <caption>文章表</caption>
            <thead>
                <tr>
                    <td>序号</td>
                    <td>标题</td>
                    <td>作责</td>
                </tr>
            </thead>
            <tbody>
            </tbody>
        </table>
        <div class="row">
            <div class="col-md-8">1</div>
            <div class="col-md-4"> 2</div>
        </div>
        <form action="" name="postForm">
            <div class="form-group">
                <label for="titleInput">标题</label>
                <input type="text" name="title" class="form-control" id="titleInput" 
                placeholder="请输入标题" required>
            </div>
            <div class="form-group">
                <label for="authorInput">作者</label>
                <input type="text" name="author" class="form-control" id="authorInput" 
                placeholder="请输入作者" required>
            </div>
            <button type="submit" class="btn btn-default">添加</button>
        </form>
        <a href="http://www.baidu.com" id="linkA">去百度</a>
    </div>
    <script>
        const oForm=document.forms['postForm'];
        const oTBody=document.querySelector('table tbody');
        // console.log(oForm);
        const olink=document.getElementById('linkA');

        // 功能抽象 post对象，变成 tr html字符串
        
        const getPostHtml=(post)=>`
                <tr>
                    <td>${post.id}</td>
                    <td>${post.title}</td>
                    <td>${post.author}</td>
                </tr>
            `
        olink.addEventListener('click',function(event){
            event.preventDefault();
        });
        let id=3;
        oForm.addEventListener('submit',function(event){
            // form 默认会向后端提交
            console.log('请先不要向后端提交数据');
            event.preventDefault();
            const title=oForm["title"].value.trim();
            // console.log(title);
            const author=oForm['title'].value.trim();
            // document 文档中 去查找 css querSelector table tbody
            oTBody.innerHTML+=getPostHtml({
                id,title,author
            })
            
            id++;
            // 清空表单
            oForm.reset();
        });
        fetch('http://localhost:3000/posts')
        .then(data=> data.json())
        .then(data=>{
            // 前端和后端通信的数据格式是 json
            // console.log(data);
            oTBody.innerHTML=data.map(post=>getPostHtml(post)).join('')
        })
        console.log('111111')
    </script>
</body>
</html>